KindEditor4.1.10,支持粘贴图片 您所在的位置:网站首页 KindEditor ctrl+v添加图片功能 KindEditor4.1.10,支持粘贴图片

KindEditor4.1.10,支持粘贴图片

2024-07-11 13:22| 来源: 网络整理| 查看: 265

KindEditor4.1.10,使得他能够在Chrome和IE11中直接粘贴复制的图片(比如通过截图工具把图片直接保存在剪切板中),然后调用上传URL上传图片

 

方法,修改kindeditor.js中的代码:

在5825行附近大概是下面这个样子的:

 

K(doc.body).bind('paste', function (e) {       if (self.pasteType === 0) {           e.stop();           return;       }  

在第1行和第2行之间插入:

 

 

//处理IE11,Chrome粘贴图片上传   function dopasteImg() {       //debugger;       var file = null;       if (window.clipboardData) {//ie              if (clipboardData.files && clipboardData.files.length)//IE11               file = clipboardData.files[0];           else if (!clipboardData.getData("text") && !clipboardData.getData("url")) {               alert("不能粘贴文件或图片,请使用IE11或者Chrome浏览器,或使用上传功能");               return true;           }       } else {           if (e.event.clipboardData.items)//chrome           for (var i = 0; i //ie                         fr.onloadend = function (evt) {                       blb = evt.target.result;                       sendfile(blb, file.type);                   }                      fr.readAsArrayBuffer(file);               }           }           function sendfile(b, t) {                              var xhr = new XMLHttpRequest();               var formData = new FormData();               var isImg = t.indexOf("image/") === 0;               //formData.append('imgFile', file,"untitled." + t.split('/')[1]);               //formData.append('imgFile', b);               var myBlob = new Blob([b], { "type": t });               formData.append('imgFile', myBlob, "untitled." + t.split('/')[1]);               //formData.append('imgFile', b);               formData.append('dir', isImg ? 'image' : 'file');               xhr.open('POST', self.uploadJson);               xhr.onreadystatechange = function () {                   if (xhr.readyState == 4&&xhr.status == 200) {                       // if (fn) {                       var data = _trim(xhr.responseText);                       //if (dataType == 'json') {                       data = _json(data);                       if (data.error) {                           if (typeof ($) !== "undefined" && $.messager && $.messager.alert) {                               $.messager.alert('Error', data.message, 'warning');                              } else {                               alert(data.message);                           }                       } else {                           //self.exec('insertimage', url, title, width, height, border, align);                           if(K.undef(self.formatUploadUrl, true))                               data.url =K.formatUrl(data.url, 'absolute');                           self.exec('insertimage', data.url, "from clipboard", undefined, undefined, undefined, undefined);                       }                       //}                       // fn(data);                       // }                   }               }               xhr.send(formData);           }           return true;       }   }   //debugger;   if (dopasteImg())       e.stop();         //处理粘贴结束5825  

此代码在chrome中测试通过,上传文件的服务器端处理无须改变,本代码已在chrome v35,IE11上测试通过

 

其中处理的几个例外情况是:

.在IE11和Chrome以外的浏览器中,如果复制了图片,粘贴,有可能会粘贴成这种形式的,如IE10或者Firefox,但也可能会粘贴成


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有